package com.cskaoyan.javase.oop1._15import.extend;

import static java.lang.System.out;
// import static java.lang.Math.PI;
// import static java.lang.Math.pow;
import static java.lang.Math.*;

/**
 * import还可以和static一起使用，称之为静态导入
 * 它的语法是：
 * import static 全限定类名.*;（智能导入的形式）
 * import static 全限定类名.静态成员;
 * 普通import导入导入的是某个类，而静态导入导入的是静态成员（变量和方法）
 * 以往我们访问不同包下的类的静态成员，是通过类名.静态成员名的形式访问的
 * 而如果使用静态导入的语法将这些不同包的类当中的静态成员导入，就可以省略相应的类名~
 *
 * 例如对于静态导入代码：
 *
 * import static java.lang.System.out;
 * 就可以在main方法中写出以下代码：
 *
 * out.println("Hello World!");
 * 智能导入也有类似的作用：
 *
 * 例如：
 *
 * import static java.lang.Math.*;
 * 就可以写出以下代码：
 *
 * double a = PI;
 * double b = pow(2,3);
 *
 * 静态导入简单了解有这个语法就可以了，静态成员在访问时本就更推荐加上类名，以增加代码可读性。
 *
 * 而如果使用静态导入后，不仅不加类名了，更是颠覆了常规的代码形式，让代码看起来很奇怪。
 *
 * 所以实际开发中，静态导入是非常罕见的语法，大家也尽量不要在自己的代码中使用！
 *
 * @since 11:08
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Demo2 {
    public static void main(String[] args) {
        System.out.println("hello world!");
        out.println("666");
        out.println(Math.PI);
        out.println(PI);
        out.println(Math.pow(2, 10));
        out.println(pow(2, 10));
    }
}
